package com.useeinfo.oa.modules.wuHanCommon.base.biz;

import com.useeinfo.framework.extend.biz.CrudBiz;
import com.useeinfo.framework.sugar.data.QueryParam;
import com.useeinfo.oa.modules.wuHanCommon.base.dao.WarningGroupDao;
import com.useeinfo.oa.modules.wuHanCommon.base.entity.WarningGroup;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class WarningGroupBiz extends CrudBiz<WarningGroupDao, WarningGroup> {

    /**
     * 查询是否存在
     *
     * @param warningGroup
     * @return
     */
    public Boolean existWarningGroup(WarningGroup warningGroup) {
        if (StringUtils.isBlank(warningGroup.getName())) {
            return true;
        }
        QueryParam queryParam = new QueryParam();
        queryParam.getSqlMap().put("name", warningGroup.getName());
        List<WarningGroup> warningGroups = findList(queryParam);

        if (warningGroup.getId() == null) {
            return CollectionUtils.isNotEmpty(warningGroups);
        } else {
            return !((warningGroups.size() == 1 && warningGroups.get(0).getId().equals(warningGroup.getId())) || warningGroups.size() == 0);
        }
    }


    /**
     * 查询是否存在
     *
     * @param warningGroup
     * @return
     */
    public Boolean existWarningGroupByCode(WarningGroup warningGroup) {
        if (StringUtils.isBlank(warningGroup.getName())) {
            return true;
        }
        QueryParam queryParam = new QueryParam();
        queryParam.getSqlMap().put("code", warningGroup.getCode());
        List<WarningGroup> warningGroups = findList(queryParam);

        if (warningGroup.getId() == null) {
            return CollectionUtils.isNotEmpty(warningGroups);
        } else {
            return !((warningGroups.size() == 1 && warningGroups.get(0).getId().equals(warningGroup.getId())) || warningGroups.size() == 0);
        }
    }
}
